linux系统:rm | 您所在的位置:网站首页 › linux rm -d › linux系统:rm |
linux系统:rm-rf执行以后,怎么办?我来教你恢复文件。
发布时间:2020-08-14 16:51:01
来源:ITPUB博客
阅读:370
作者:dbhelper
栏目:建站服务器
大家好我是历史,身为liunx系统管理员,rm命令是不是经常在用呢?有没有做过rm命令以后,瞬间感觉无语的时候!
让大家看看我的血的教训!
果真感觉蛋疼了,欲哭无泪啊!写了一天的成果,想着把之前备份的文件删除呢,结果把刚写完的删了。 国外著名linx管理员守则中有这么一条:“慎用rm -rf命令,除非你知道此命令将带来什么后果。” 可见这个命令的重要性啊,书中看到的这句话,确实很对。 说了这么多,教教大家执行了rm命令后 该这么办吧,是有办法回复的,我刚经过试验证实了,google有一个开源的包 叫ext3grep工具他可以回复删除的文件,甚至是drop database xcy; 对,就是误删除的数据库都可以回复。 先说一下他的工作原理吧,然后我在把试验分享给大家, 工作原理其实也不难,这个工具需要在ext3或者ext4 的文件系统上才可以实现,因为ext3文件系统是日志型文件系统,ext3文件系统储存信息的时候是由inode号和block块存储的。 神马? 不知道什么是inode号?和block块? 好吧,在说明白点,比如:一个分区比如一本书,那么block块就是书每页的内容,而inode号 就是书的目录,系统找文件的时候先找inode号 然后根据inode号去找硬盘上的block快信息,明白了吧! 在说一下删除的原理吧。 当硬盘上的一个文件删除,其实没有真正想象中的那样在硬盘上清除掉的,他是把inode号和block块的那个链子 断开,但是真正的数据还是在硬盘上的,有没有感觉在windos上删除是那么快,没考虑到这吧,当你在删除文件的地方重新复制了新文件,那时候才会把之前的文件覆盖掉,也就是说删除了没有关系,千万不要往那个位置放文件了。 源码包下载位置:http://down.51cto.com/data/709491 原理说完了,开始实战。 环境介绍: 系统版本:CentOS release 5.4 (Final) 1 安装之前先检查有没有这个包: rpm -qa | grep e2fsprogs
2 ext4grep 是个源码包,需要编译安装
检查一下e2fsprogs包是否完整,我的却一个-devel的包,所以要先yum install e2fsprogs* 我偷懒了嘿嘿
然后我需要手动创建一个分区, 创建命令: fdisk /dev/sda 这个因为没有办法保存图像所有我直接显示的创建完成以后的。如果大家不知道怎么创建 可以查看我的 linx基本命令(文件系统章节)。
然后 把这个分区y用ext3分区格式格式化 并且挂载到mnt目录下。
咳咳,然后我首先做的是卸载下来 把挂载的分区,因为 怕别人动了我的文件夹 在里面复制了东西我就没有办法恢复了,在下面我执行:ext3grep /dev/sda5 --ls --inode 2 给你们解释一下 ext3grep 删除文件的分区 --ls --innode inode号
为什么最后我们要写2 因为我不知道我的删除的文件的inode号多少, 所有我写的是最大的inode / 的inode号 可以用: ls -id / 查看
执行下去以后就会看到 他在刷帮你找删除的文件们。。 ![]() ![]() 然后我们执行 ext3grep /dev/sda5 --restore-inode 2011 (恢复my.cnf.xcy文件) 我们在执行 ext3grep /dev/sda5 --restore-inode 2010 (恢复passwrd.xcy文件)
然后我们将卸载的文件系统重现挂载上去。
文件恢复了,哈哈 是不是很激动啊,解决了liunx 下不能恢复的问题,这样就可以大大节约成本 不用找硬盘恢复工具 不用花钱了, 对了还有呢, 这个同样可以恢复 mysql 数据库 误操作删除了库或者表 都可以恢复 原理嘛 其实就是恢复相对应的mysql数据库中的文件了,自己尝试一下吧, 对了在说一下,我截图中 圈起来了是正确的命令,别的很多有操作错误的,因为毕竟第一次试验吗。。成功了很高兴,,希望能帮到和我同样遭遇的朋友们。
最后来个总结缺点: 我试验发现这个功能有些缺点: 1 条件必须是ext3 ext4 日志文件系统才可以做到,别的我就不清楚了。 2 我这个是自己创建的分区/dev/sda5 也就是说我知道删除的文件在那个分区上,假如你删除了文件知道在哪里分区中 那么你就需要从sda1 ....sdaN 都试一遍吧,,,,。 有什么问题可以留言 联系我 我看到了可以帮大家解决。。。 作者的话:--->这篇文章在51cto中也可以到,没错,对那就是我,也是我原创的,以后转数据库行业了,打算常驻这个论坛,我弘扬原创,这个不算抄袭吧!
推荐阅读: linux系统中如何执行sh文件 Vue如何监听数据渲染DOM完以后执行某个函数 免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。 linux rm-rf 怎么办 上一篇新闻:在ScreenOS NSRP中如何手工强制把主设备切换为备设 下一篇新闻:PostgreSQL DBA(83) - Extension(pg_buffercache) 猜你喜欢 没有tpm如何升级win11 windows中microsoft remote desktop如何设置中文 ipv6无网络访问权限如何解决 win7重装系统黑屏f8和bios进不去如何解决 windows defender安全中心图标如何隐藏 win7升级win10数据会不会丢失 Win10应用商店无法下载应用如何解决 电脑主板型号如何看 windows看视频cpu占用过高如何解决 windows中360桌面助手如何整理桌面 |
CopyRight 2018-2019 实验室设备网 版权所有 |